1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.glib.gvarianttype; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import core.stdc.config; 34 35 extern (C): 36 37 alias _GVariantType GVariantType; 38 39 struct _GVariantType; 40 41 version(Derelict_Link_Static) 42 { 43 extern( C ) nothrow 44 { 45 gboolean g_variant_type_string_is_valid(const(gchar)* type_string); 46 gboolean g_variant_type_string_scan(const(gchar)* string, const(gchar)* limit, const(gchar*)* endptr); 47 void g_variant_type_free(GVariantType* type); 48 GVariantType* g_variant_type_copy(const(GVariantType)* type); 49 GVariantType* g_variant_type_new(const(gchar)* type_string); 50 gsize g_variant_type_get_string_length(const(GVariantType)* type); 51 const(gchar)* g_variant_type_peek_string(const(GVariantType)* type); 52 gchar* g_variant_type_dup_string(const(GVariantType)* type); 53 gboolean g_variant_type_is_definite(const(GVariantType)* type); 54 gboolean g_variant_type_is_container(const(GVariantType)* type); 55 gboolean g_variant_type_is_basic(const(GVariantType)* type); 56 gboolean g_variant_type_is_maybe(const(GVariantType)* type); 57 gboolean g_variant_type_is_array(const(GVariantType)* type); 58 gboolean g_variant_type_is_tuple(const(GVariantType)* type); 59 gboolean g_variant_type_is_dict_entry(const(GVariantType)* type); 60 gboolean g_variant_type_is_variant(const(GVariantType)* type); 61 guint g_variant_type_hash(gconstpointer type); 62 gboolean g_variant_type_equal(gconstpointer type1, gconstpointer type2); 63 gboolean g_variant_type_is_subtype_of(const(GVariantType)* type, const(GVariantType)* supertype); 64 const(GVariantType)* g_variant_type_element(const(GVariantType)* type); 65 const(GVariantType)* g_variant_type_first(const(GVariantType)* type); 66 const(GVariantType)* g_variant_type_next(const(GVariantType)* type); 67 gsize g_variant_type_n_items(const(GVariantType)* type); 68 const(GVariantType)* g_variant_type_key(const(GVariantType)* type); 69 const(GVariantType)* g_variant_type_value(const(GVariantType)* type); 70 GVariantType* g_variant_type_new_array(const(GVariantType)* element); 71 GVariantType* g_variant_type_new_maybe(const(GVariantType)* element); 72 GVariantType* g_variant_type_new_tuple(const(GVariantType*)* items, gint length); 73 GVariantType* g_variant_type_new_dict_entry(const(GVariantType)* key, const(GVariantType)* value); 74 const(GVariantType)* g_variant_type_checked_(const(gchar)*); 75 } 76 } 77 else 78 { 79 extern( C ) nothrow 80 { 81 alias da_g_variant_type_string_is_valid = gboolean function(const(gchar)* type_string); 82 alias da_g_variant_type_string_scan = gboolean function(const(gchar)* string, const(gchar)* limit, const(gchar*)* endptr); 83 alias da_g_variant_type_free = void function(GVariantType* type); 84 alias da_g_variant_type_copy = GVariantType* function(const(GVariantType)* type); 85 alias da_g_variant_type_new = GVariantType* function(const(gchar)* type_string); 86 alias da_g_variant_type_get_string_length = gsize function(const(GVariantType)* type); 87 alias da_g_variant_type_peek_string = const(gchar)* function(const(GVariantType)* type); 88 alias da_g_variant_type_dup_string = gchar* function(const(GVariantType)* type); 89 alias da_g_variant_type_is_definite = gboolean function(const(GVariantType)* type); 90 alias da_g_variant_type_is_container = gboolean function(const(GVariantType)* type); 91 alias da_g_variant_type_is_basic = gboolean function(const(GVariantType)* type); 92 alias da_g_variant_type_is_maybe = gboolean function(const(GVariantType)* type); 93 alias da_g_variant_type_is_array = gboolean function(const(GVariantType)* type); 94 alias da_g_variant_type_is_tuple = gboolean function(const(GVariantType)* type); 95 alias da_g_variant_type_is_dict_entry = gboolean function(const(GVariantType)* type); 96 alias da_g_variant_type_is_variant = gboolean function(const(GVariantType)* type); 97 alias da_g_variant_type_hash = guint function(gconstpointer type); 98 alias da_g_variant_type_equal = gboolean function(gconstpointer type1, gconstpointer type2); 99 alias da_g_variant_type_is_subtype_of = gboolean function(const(GVariantType)* type, const(GVariantType)* supertype); 100 alias da_g_variant_type_element = const(GVariantType)* function(const(GVariantType)* type); 101 alias da_g_variant_type_first = const(GVariantType)* function(const(GVariantType)* type); 102 alias da_g_variant_type_next = const(GVariantType)* function(const(GVariantType)* type); 103 alias da_g_variant_type_n_items = gsize function(const(GVariantType)* type); 104 alias da_g_variant_type_key = const(GVariantType)* function(const(GVariantType)* type); 105 alias da_g_variant_type_value = const(GVariantType)* function(const(GVariantType)* type); 106 alias da_g_variant_type_new_array = GVariantType* function(const(GVariantType)* element); 107 alias da_g_variant_type_new_maybe = GVariantType* function(const(GVariantType)* element); 108 alias da_g_variant_type_new_tuple = GVariantType* function(const(GVariantType*)* items, gint length); 109 alias da_g_variant_type_new_dict_entry = GVariantType* function(const(GVariantType)* key, const(GVariantType)* value); 110 alias da_g_variant_type_checked_ = const(GVariantType)* function(const(gchar)*); 111 } 112 113 __gshared 114 { 115 da_g_variant_type_string_is_valid g_variant_type_string_is_valid; 116 da_g_variant_type_string_scan g_variant_type_string_scan; 117 da_g_variant_type_free g_variant_type_free; 118 da_g_variant_type_copy g_variant_type_copy; 119 da_g_variant_type_new g_variant_type_new; 120 da_g_variant_type_get_string_length g_variant_type_get_string_length; 121 da_g_variant_type_peek_string g_variant_type_peek_string; 122 da_g_variant_type_dup_string g_variant_type_dup_string; 123 da_g_variant_type_is_definite g_variant_type_is_definite; 124 da_g_variant_type_is_container g_variant_type_is_container; 125 da_g_variant_type_is_basic g_variant_type_is_basic; 126 da_g_variant_type_is_maybe g_variant_type_is_maybe; 127 da_g_variant_type_is_array g_variant_type_is_array; 128 da_g_variant_type_is_tuple g_variant_type_is_tuple; 129 da_g_variant_type_is_dict_entry g_variant_type_is_dict_entry; 130 da_g_variant_type_is_variant g_variant_type_is_variant; 131 da_g_variant_type_hash g_variant_type_hash; 132 da_g_variant_type_equal g_variant_type_equal; 133 da_g_variant_type_is_subtype_of g_variant_type_is_subtype_of; 134 da_g_variant_type_element g_variant_type_element; 135 da_g_variant_type_first g_variant_type_first; 136 da_g_variant_type_next g_variant_type_next; 137 da_g_variant_type_n_items g_variant_type_n_items; 138 da_g_variant_type_key g_variant_type_key; 139 da_g_variant_type_value g_variant_type_value; 140 da_g_variant_type_new_array g_variant_type_new_array; 141 da_g_variant_type_new_maybe g_variant_type_new_maybe; 142 da_g_variant_type_new_tuple g_variant_type_new_tuple; 143 da_g_variant_type_new_dict_entry g_variant_type_new_dict_entry; 144 da_g_variant_type_checked_ g_variant_type_checked_; 145 } 146 }